package com.ny.config;

import com.ny.interceptor.LoginInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import javax.annotation.Resource;

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Resource
    LoginInterceptor loginInterceptor;

    // 注册拦截器并配置拦截规则
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(loginInterceptor)
                .addPathPatterns("/selectUser") // 需要登录的接口1
                .addPathPatterns("/sendEmail")  // 需要登录的接口2
                .addPathPatterns("/device/**")  // 需要登录的设备相关接口
                .addPathPatterns("/mongo/**")   // 需要登录的MongoDB相关接口
                .excludePathPatterns("/login")  // 排除登录接口（无需验证）
                .excludePathPatterns("/register")// 排除注册接口（无需验证）
                .order(1); // 拦截器执行顺序（数字越小越先执行）
    }
}